#ifndef __RENDER_WINDOW_MANAGER_H__
#define __RENDER_WINDOW_MANAGER_H__

#include "Headers.h"
#include "RenderWindowForm.h"

namespace particleEditorCli {

	using namespace WeifenLuo::WinFormsUI::Docking;

public ref class RenderWindowManager
{
public:
	RenderWindowManager();
	~RenderWindowManager();

	RenderWindowForm^ addRenderWindow();
	void removeRenderWindow(RenderWindowForm^);
	void removeAllRenderWindow();
	
	void startRendering();
	void stopRendering();
	void render(Object^ obj, EventArgs^e);
	
	static property RenderWindowManager^ Instance
	{
		RenderWindowManager^ get();
	}

	void removeDockpanel();
	void setDockpanel(DockPanel^ panel);
	
private:
	static  RenderWindowManager^ mInstance;
	int		mNbRw;
	bool	mIsRendering;
	System::Collections::Generic::List<RenderWindowForm^>^ mRenderWinList;

};

}
#endif